package jp.co.neosystem.adwg.neodiary.activity;

import static jp.co.neosystem.adwg.neodiary.util.Constants.INTENT_KEY_EDITTEXT_CONTENT;
import static jp.co.neosystem.adwg.neodiary.util.Constants.INTENT_KEY_EDITTEXT_DATE;
import static jp.co.neosystem.adwg.neodiary.util.Constants.INTENT_KEY_EDITTEXT_TITLE;
import jp.co.neosystem.adwg.neodiary.R;
import jp.co.neosystem.adwg.neodiary.db.dao.DiaryDao;
import jp.co.neosystem.adwg.neodiary.db.entity.Diary;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

/**
 * 確認画面用Activity
 * 
 * @author NEOSystem
 */
public class ConfirmActivity extends Activity
{
	/** 登録ボタン */
	private Button buttonRegist;
	/** 戻るボタン */
	private Button buttonBack;
	/** 日付テキストビュー */
	private TextView textViewDate;
	/** タイトルテキストビュー */
	private TextView textViewTitle;
	/** 内容テキストビュー */
	private TextView textViewContent;

	/**
	 * onCreateメソッド
	 * 
	 * @param savedInstanceState
	 */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.confirm);

		// 各ウィジェットのインスタンス取得
		buttonRegist = (Button) findViewById(R.id.buttonRegist);
		buttonBack = (Button) findViewById(R.id.buttonBack);
		textViewDate = (TextView) findViewById(R.id.textViewDate);
		textViewTitle = (TextView) findViewById(R.id.textViewTitle);
		textViewContent = (TextView) findViewById(R.id.textViewContent);

		// 各ボタンのリスナーセット
		buttonRegist.setOnClickListener(new OnClickListener4ButtonRegist());
		buttonBack.setOnClickListener(new OnClickListener4ButtonBack());

		// 遷移元画面からのインテントの内容を取得
		Intent intent = getIntent();
		textViewDate.setText(intent.getStringExtra(INTENT_KEY_EDITTEXT_DATE.toString()));
		textViewTitle.setText(intent.getStringExtra(INTENT_KEY_EDITTEXT_TITLE.toString()));
		textViewContent.setText(intent.getStringExtra(INTENT_KEY_EDITTEXT_CONTENT.toString()));
	}

	/**
	 * 登録ボタン用クリックリスナー
	 * 
	 * @author NEOSystem
	 */
	private class OnClickListener4ButtonRegist implements OnClickListener
	{
		/**
		 * クリック時処理
		 * 
		 * @param view
		 */
		public void onClick(View view)
		{
			// Toast.makeText(view.getContext(), "登録を開始します",
			// Toast.LENGTH_SHORT).show();

			DiaryDao dao = new DiaryDao(view.getContext());
			Diary diary = new Diary();
			diary.setDate(textViewDate.getText().toString());
			diary.setTitle(textViewTitle.getText().toString());
			diary.setContent(textViewContent.getText().toString());

			dao.insert(diary);

			Toast.makeText(view.getContext(), "登録完了", Toast.LENGTH_SHORT).show();

			// これまでスタックした画面を全て削除し、検索画面へ遷移
			startActivity(new Intent(ConfirmActivity.this, SearchActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
		}
	}

	/**
	 * 戻るボタン用クリックリスナー
	 * 
	 * @author NEOSystem
	 */
	private class OnClickListener4ButtonBack implements OnClickListener
	{
		/**
		 * クリック時処理
		 * 
		 * @param view
		 */
		public void onClick(View view)
		{
			Toast.makeText(view.getContext(), "登録を開始します", Toast.LENGTH_SHORT);
			finish();
		}
	}
}